#pragma once

namespace mgfx
{
	class Graphics;
}

//using namespace mgfx;

namespace mcore
{
	class ViewManager;

	class Core
	{
	public:
		Core();
		~Core();

		void initGraphics(HWND hwnd, int clientWidth, int clientHeight);

		void update(float dt);
		void draw();
		void onResize();
		bool onWindowMessage(UINT msg, WPARAM wParam, LPARAM lParam);

		ViewManager * getViewManager() { return mViewMgr; }

	private:
		ViewManager * mViewMgr;
		mgfx::Graphics * mGraphics;

	};


}
